home *** CD-ROM | disk | FTP | other *** search
/ Aminet 44 / Aminet 44 (2001)(GTI - Schatztruhe)[!][Aug 2001].iso / Aminet / game / misc / CCGames.lha / LIFE2.BAS < prev    next >
BASIC Source File  |  1980-01-01  |  3KB  |  87 lines

  1. 1 PRINT CHR$(26):WIDTH 80
  2. 2 PRINT TAB(33);"LIFE2":PRINT
  3. 4 PRINT TAB(15);"CREATIVE COMPUTING  MORRISTOWN, NEW JERSEY"
  4. 6 PRINT:PRINT:PRINT
  5. 7 DIM N(6,6),K(18),A(16),X(2),Y(2)
  6. 8 DATA 3,102,103,120,130,121,112,111,12
  7. 9 DATA 21,30,1020,1030,1011,1021,1003,1002,1012
  8. 10 FOR M=1 TO 18: READ K(M): NEXT M
  9. 13 DATA -1,0,1,0,0,-1,0,1,-1,-1,1,-1,-1,1,1,1
  10. 14 FOR O1= 1 TO 16: READ A(O1): NEXT O1
  11. 20 GOTO 500
  12. 50 FOR J=1 TO 5
  13. 51 FOR K=1 TO 5
  14. 55 IF N(J,K)>99 THEN GOSUB 200
  15. 60 NEXT K
  16. 65 NEXT J
  17. 90 K=0: M2=0: M3=0
  18. 99 FOR J=0 TO 6: PRINT
  19. 100 FOR K=0 TO 6
  20. 101 IF J<>0 THEN IF J<>6 THEN 105
  21. 102 IF K=6 THEN PRINT 0;: GOTO 125
  22. 103 PRINT K;: GOTO 120
  23. 105 IF K<>0 THEN IF K<>6 THEN 110
  24. 106 IF J=6 THEN PRINT 0: GOTO 126
  25. 107 PRINT J;: GOTO 120
  26. 110 GOSUB 300
  27. 120 NEXT K
  28. 125 NEXT J
  29. 126 RETURN
  30. 200 B=1: IF N(J,K)>999 THEN B=10
  31. 220 FOR O1= 1 TO 15 STEP 2
  32. 230 N(J+A(O1),K+A(O1+1))=N(J+A(O1),K+A(O1+1))+B
  33. 231 NEXT O1
  34. 239 RETURN
  35. 300 IF N(J,K)<3 THEN 399
  36. 305 FOR O1=1 TO 18
  37. 310 IF N(J,K)=K(O1) THEN 350
  38. 315 NEXT O1
  39. 320 GOTO 399
  40. 350 IF O1>9 THEN 360
  41. 351 N(J,K)=100: M2=M2+1: PRINT " * ";
  42. 355 RETURN
  43. 360 N(J,K)=1000: M3=M3+1: PRINT " # ";
  44. 365 RETURN
  45. 399 N(J,K)=0: PRINT "   ";: RETURN
  46. 500 PRINT TAB(10);"U.B. LIFE GAME":PRINT TAB(10);"--------------":PRINT
  47. 505 M2=0: M3=0
  48. 510 FOR J=1 TO 5
  49. 511 FOR K=1 TO 5
  50. 515 N(J,K)=0
  51. 516 NEXT K
  52. 517 NEXT J
  53. 519 FOR B=1 TO 2: P1=3: IF B=2 THEN P1=30
  54. 520 PRINT:PRINT "PLAYER";B;" - 3 LIVE PIECES."
  55. 535 FOR K1=1 TO 3: GOSUB 700
  56. 540 N(X(B),Y(B))=P1: NEXT K1
  57. 542 NEXT B
  58. 559 GOSUB 90
  59. 560 PRINT: GOSUB 50
  60. 570 IF M2=0 THEN IF M3=0 THEN 574
  61. 571 IF M3=0 THEN B=1: GOTO 575
  62. 572 IF M2=0 THEN B=2: GOTO 575
  63. 573 GOTO 580
  64. 574 PRINT: PRINT: PRINT "A DRAW":GOTO 800
  65. 575 PRINT: PRINT: PRINT "PLAYER";B;"IS THE WINNER":GOTO 800
  66. 580 FOR B=1 TO 2: PRINT: PRINT: PRINT "PLAYER";B;: GOSUB 700
  67. 581 IF B=99 THEN 560
  68. 582 NEXT B
  69. 586 N(X(1),Y(1))=100: N(X(2),Y(2))=1000
  70. 596 GOTO 560
  71. 700 PRINT "X,Y":PRINT"XXXXXX";CHR$(13);"$$$$$$";CHR$(13);"&&&&&&";
  72. 701 PRINT CHR$(13);: INPUT Y(B),X(B)
  73. 705 IF X(B)<=5 THEN IF X(B)>0 THEN 708
  74. 706 GOTO 750
  75. 708 IF Y(B)<=5 THEN IF Y(B)>0 THEN 715
  76. 710 GOTO 750
  77. 715 IF N(X(B),Y(B))<>0 THEN 750
  78. 720 IF B=1 THEN RETURN
  79. 725 IF X(1)=X(2) THEN IF Y(1)=Y(2) THEN 740
  80. 730 RETURN
  81. 740 PRINT "SAME COORD.  SET TO 0"
  82. 741 N(X(B)+1,Y(B)+1)=0: B=99: RETURN
  83. 750 PRINT "ILLEGAL COORDS. RETYPE": GOTO 700
  84. 800 PRINT:LINE INPUT "PLAY AGAIN? ";ANS$:PRINT
  85. 805 IF LEFT$(ANS$,1)="Y" THEN 500 ELSE RUN "MENU"
  86. 999 RUN "MENU"
  87.